package test.math;


public class Lesson1_2 {

    public static void main(String[] args) {
        System.out.println(leftShift(2, 8));

        System.out.println(rightShift(-5, 2));

        System.out.println(rightShift2(-5, 2));
    }

    /**
     * 向左位移
     * @param num 等待位移的10进制数
     * @param m 向左位移的位数
     * @return
     */
    public static int leftShift(int num, int m) {
        return num << m;
    }

    /**
     * 向逻辑右位移
     * @param num 等待右位移的十进制数
     * @param m 向右位移的位数
     * @return
     */
    public static int rightShift(int num, int m) {
        return num >>> m;
    }

    /**
     * 向右算数右位移
     * @param num
     * @param m
     * @return
     */
    public static int rightShift2(int num, int m) {
        return num >> m;
    }

}
